package com.sheepjin.design_pattern.行为型模式.策略模式;

import com.sheepjin.design_pattern.行为型模式.策略模式.entity.PlaneStrategy;
import com.sheepjin.design_pattern.行为型模式.策略模式.entity.StrategyExec;
import com.sheepjin.design_pattern.行为型模式.策略模式.entity.TrainStrategy;

/**
 * 策略模式：demo测试
 * </p>
 * 定义一系列的算法,把它们一个个封装起来, 并且使它们可以在运行时可相互替换。
 *
 * @author yang
 */
public class StrategyPatternDemoTest {

    public static void main(String[] args) {
        StrategyExec strategyExec = new StrategyExec();

        /**
         * 使用火车
         */
        strategyExec.setStrategyIntergace(new TrainStrategy());
        System.out.println(strategyExec.goingOutWay());

        System.out.println("------------------------");

        /**
         * 使用飞机
         */
        strategyExec.setStrategyIntergace(new PlaneStrategy());
        System.out.println(strategyExec.goingOutWay());
    }
}
